package fun.qu_an.minecraft.mini_games_helper.client.mixin.sodium;

import me.jellysquid.mods.sodium.client.gui.options.binding.GenericBinding;
import me.jellysquid.mods.sodium.client.gui.options.control.Control;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.gen.Accessor;

import java.util.function.BiConsumer;
import java.util.function.Function;

@Mixin(GenericBinding.class)
public interface GenericBindingAccessor {
	@Accessor(remap = false)
	@Final
	@Mutable
	void setSetter(BiConsumer<?, ?> setter);

	@Accessor(remap = false)
	@Final
	@Mutable
	BiConsumer<?, ?> getSetter();

	@Accessor(remap = false)
	@Final
	@Mutable
	void setGetter(Function<?, ?> control);

	@Accessor(remap = false)
	@Final
	@Mutable
	Function<?, ?> getGetter();
}
